home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / cad / lasi512b.zip / LASIDRC.LHI < prev    next >
Text File  |  1996-04-04  |  27KB  |  605 lines

  1. ≡≡
  2. Introduction
  3.  
  4.  Introduction
  5.  
  6.                      LASIDRC Design Rule Check Utility
  7.                      ---------------------------------
  8.  
  9.   The program LASIDRC.EXE is a design rule checking program that performs
  10.   various layout design rule checks by making 2-dimensional bitmaps of
  11.   drawing layers and then doing logical operations on the bitmaps. Some of
  12.   the main features of the program are:
  13.  
  14.   ■ This is a new 32-bit version of LASIDRC.EXE that will use extended
  15.     memory and should work with any drawing produced by LASI 5.1.
  16.  
  17.   ■ The setup of distances to be checked has been made more intuitively
  18.     obvious than it was with previous versions of LASIDRC.
  19.  
  20.   ■ LASIDRC reads a Design Rule Check file which contains parameters and
  21.     operators that perform one or more checks. You can write your own check
  22.     file, and devise any type of design rule checks that you may want,
  23.     within the limits of the available operations.
  24.  
  25.   ■ LASIDRC can find "near miss errors" where one area misses being to be
  26.     connected to another area in a drawing by a single smallest drawing
  27.     unit.
  28.  
  29.   ■ LASIDRC can be interrupted at any check within the processing of a
  30.     check file, the state will be saved, and checking will continue in the
  31.     area where it was suspended if LASIDRC is started again.
  32.  
  33.   ■ The checking results may be displayed on a monitor, may be stored in a
  34.     disk file, or may be printed on a line printer. Automatic or manual
  35.     hardcopies of the display may be made using the same hardcopy programs
  36.     that the LASI drawing program uses.
  37.  
  38.   ■ LASIDRC can now check for overlapping objects on the same or several
  39.     layers. This is valuable for checking for gross errors, and for looking
  40.     for multiple photographic exposures that could cause maskmaking errors.
  41.  
  42.  
  43.   When using LASIDRC you will soon learn that making logical design rule
  44.   checks is a world of its own. If you like mathematical games, you should
  45.   like designing tests and running LASIDRC.
  46.  
  47. Running LASIDRC
  48.  
  49.  Running LASIDRC
  50.  
  51.   To run LASIDRC you first need to write a Design Rule Check file (or just
  52.   check file for short). This file contains small "programs" that tell
  53.   LASIDRC what to do, and is explained in the Writing a Check File topic.
  54.  
  55.   Make the drawing directory the default directory and type "LASIDRC".
  56.   LASIDRC will come up in a setup display, providing it finds the drawing
  57.   files: FORM.DBD, CELLS5.DBD and CONSTS5.DBD. It will also allocate memory
  58.   for LASI objects and its bitmaps. If any of this fails, it will tell you
  59.   so and will return to DOS.
  60.  
  61.   When the Checking Setup is displayed, you can enter or change any
  62.   parameters by moving through the parameters using the mouse, or the up,
  63.   down, left, right or ENTER keys and then typing in they value. The values
  64.   will be changed if any characters are typed and the location is then
  65.   moved. You can step around and around until you have the parameters as
  66.   you want them. The parameters to set are as follows:
  67.  
  68.   ■ Name of Cell to DRC. This is the main cell you want to check. Note that
  69.     this also checks any lesser cells in the main cell.
  70.  
  71.   ■ Name of Check File. This is the name of the check file that LASIDRC
  72.     will use. It will always have the extension ".DRC", which will
  73.     automatically be added to the name. This may include a path.
  74.  
  75.   ■ Name of the Report File. This is an arbitrary name for the file where
  76.     you want the DRC results to be recorded as the program runs. This may
  77.     have any extension or path.
  78.  
  79.   ■ Report Destination. This allows you to print or save a summary of any
  80.     error flags that are found. The parameter must be one of the printers
  81.     "LPT1", "LPT2","LPT3","PRN" (=LPT1), "FILE" for the report file or
  82.     blank for no report. If left blank, the program pauses so that you can
  83.     read the error. If the report file is being made, it will be appended
  84.     and not rewritten each time the program is started. It should be erased
  85.     occasionally if it contains old information.
  86.  
  87.   ■ Starting Check Number. This is the test in the check file where you
  88.     want the checking to start. This allows you to skip over some tests.
  89.  
  90.   ■ Finishing Check Number. This is the last test you want to do. This
  91.     allows some trailing tests to be omitted.
  92.  
  93.   ■ Enable switches. There are two enables for the PAUSE and HCPY
  94.     operators. You can turn these operators on and off as you please
  95.     without editing the check file. If the PAUSE switch is set to "Y", or
  96.     the report destination is set to a printer, or the printer is not
  97.     available, Enable HCPY will not accept "Y".
  98.  
  99.   ■ HCPY Command Line. This is the same command line that you would put in
  100.     the "hcopy=" FORM.DBD file to make LASI drawing hardcopies. LASIDRC
  101.     uses this command to select the hardcopy printer. Since LASIDRC
  102.     displays only in 640x480 VGA mode do not set any of the SVGA or XVGA
  103.     parameters ("s" or "x") on the command line.
  104.  
  105.   ■ Resolution and Distance Parameters. The resolution and distance in the
  106.     check file may be overridden if you want. These values stay in place
  107.     until new RESOLUTION= or DISTANCE= parameters are encountered in the
  108.     check file in any of the following tests. Leaving these blank (press
  109.     the Delete key) causes them to default to the values in the check file.
  110.     The Distance is always an integral multiple of the Resolution.
  111.  
  112.   ■ Starting Point. You may start checking areas anywhere by writing the
  113.     bottom-left coordinates in the setup. This allows you to go to an
  114.     certain area in a cell without doing all the previous areas. Leaving
  115.     these parameters blank causes them to be set to the bottom-left corner
  116.     of the cell.
  117.  
  118.   The setup is slightly "smart"; it checks and adjusts parameters to
  119.   conform to LASIDRC's checking rules. Units are automatically added to any
  120.   dimensions. You will also notice that where "Y" or "N" is wanted,
  121.   anything but "Y" will set "N".
  122.  
  123.   To start checking, press ALT-G or click "Go". Once you start checking,
  124.   the parameters are saved in the LASIDRC.SET file and are returned when
  125.   LASIDRC is run again.
  126.  
  127.   As LASIDRC runs, a short message and the current operation is displayed.
  128.   This moves up and down the screen as a screen saver feature.
  129.  
  130.   When LASIDRC is running, you can get a status display by pressing the
  131.   SPACE bar. Checking resumes automatically after a few seconds.
  132.  
  133.   You may ABORT checking by pressing ESC. You will go back to the Checking
  134.   Setup display. When this is done, the last area position and the check
  135.   number will be saved in the setup. If you start LASIDRC again this
  136.   information will be restored.
  137.  
  138.   If you want to reset the Resolution, Distance and Starting Point, press
  139.   ALT-I or click "Init". You would normally use this if you go to another
  140.   check and start at the beginning. If you don't initialize, the results
  141.   will be unpredictable.
  142.  
  143.   Press ALT-Q or click "Quit" to exit from the Checking Setup to DOS.
  144.  
  145.   Note: There may be a short delay if SPACE or ESC is pressed, be patient.
  146.  
  147.  
  148.   Pressing ALT-R or clicking "Read" in setup will read the contents of the
  149.   check file as it is seen by LASIDRC. That is, the defaults for parameters
  150.   will be listed and any comments or operators that have been disabled by
  151.   making them into comments will not be shown.
  152.  
  153.   Pressing ALT-D or clicking "DOS" in setup will shell to DOS. You can run
  154.   your favorite editor to make changes to the check file. Once in a while
  155.   there will not be enough contiguous memory available to run a program; in
  156.   that case you need to exit LASIDRC and go back to DOS to do any editing.
  157.  
  158.   Pressing ALT-M or clicking "Mem" will give a quick estimate of available
  159.   memory.
  160.  
  161.   If a check file is read completely, the program will terminate normally
  162.   and go back to DOS. Certain setup parameters will be set to their default
  163.   values.
  164.  
  165. Writing a Check File
  166.  
  167.  Check File Format
  168.  
  169.   A check file consists of one or more test sequences or checks arranged in
  170.   blocks that contain parameters and operators. Each block starts with a
  171.   TITLE parameter and is ended with an OPERATORS parameter. The OPERATORS
  172.   parameter is always followed by a set of OPERATORS that are enclosed in
  173.   brace characters "{" and "}".
  174.   ≡≡17
  175.   Characters may be upper or lowercase. The format is as follows:
  176.  
  177.  
  178.   TITLE=aaaa<nl>            (40 char. max.)       []=optional
  179.   [RESOLUTION=nnnn<nl>]     (in physical units)   <nl>=newline (CR-LF)
  180.   [DISTANCE=nnnn<nl>]       (in physical units)
  181.   [LOCATION=xxxx,yyyy<nl>]  (in physical units)
  182.   OPERATORS=<nl>
  183.   {<nl>
  184.     [OPERATOR<nl>]
  185.     .
  186.     .
  187.     .
  188.   }<nl>
  189.   TITLE=bbbb<nl>
  190.   etc.
  191.  
  192.  
  193.   Check Parameters:
  194.  
  195.   "TITLE=" is the name of a particular test, and MUST be present. If no new
  196.   title is read, the check file is considered finished.
  197.  
  198.   "RESOLUTION=" is the smallest physical size unit that you want to check
  199.   in a cell. This will be snapped to multiples of the basic units used in
  200.   the drawing.  A Resolution unit corresponds to 2x2 bits in a bitmap.
  201.   Making this larger speeds up checking, but, details smaller than this
  202.   number may be lost. This defaults to the previous setting if omitted.
  203.  
  204.   "DISTANCE=" is the physical distance by which bitmaps will be expanded
  205.   when spacing checks are being done. It also affects the position of the
  206.   areas being checked. This defaults to the previous setting if omitted.
  207.  
  208.   "LOCATION=" sets the point on a cell of where to start checking. This is
  209.   the bottom-left corner of the area to be scanned. This does not default
  210.   to any previous values.
  211.  
  212.   "OPERATORS=" begins the sequence of operator mnemonics that do the actual
  213.   checking. The block of operators always starts with "{" and ends with
  214.   "}". Each operator is written on a new line (CR-LF) and may contain
  215.   arguments separated by a comma ",". Operators are read character by
  216.   character starting after "=". The right brace "}" terminates the
  217.   operations and the present check. There is space for a maximum of 50
  218.   operators in the sequence.
  219.  
  220.   The variables above are recognized by only their first two characters and
  221.   may be upper or lower case. For example, "op=" is equivalent to
  222.   "OPERATORS=".
  223.  
  224.   A semicolon may be added to an operator line, which has the effect of
  225.   making everything to the right a comment. You may "turn off" and operator
  226.   by putting a ";" as the first character in the line. This lets you leave
  227.   temporary operators in place in the file while you are working out a
  228.   test.
  229.  
  230.  Working Maps
  231.  
  232.   The program maintains several internal 640x640 bitmaps. Only two are
  233.   available to the user. These are the R (results) and S (secondary) maps.
  234.  
  235.   All tests are done by making and moving layer maps into the R and S
  236.   working maps, where the various operators can work on them.
  237.   ≡≡11
  238.   R and S maps are arranged in a 2-map "stack" as shown below:
  239.  
  240.  
  241.            PUSH layer map ────┐
  242.                               
  243.                             ┌─────────┐
  244.                             │ │  R    │<─┐<── R Operator
  245.              Map Stack      ├─│───────┤  │
  246.                             │   S    │──┴─── RS Operator
  247.                             └─────────┘
  248.  
  249.  
  250.   To do any operations on maps you first push a layer map onto the map
  251.   stack. When a map is pushed into R, the previous contents of R are first
  252.   pushed into S.
  253.  
  254.   Certain operators work with the R map and some work with both the R and S
  255.   maps. The results are always placed in the R map.
  256.  
  257.  Operators
  258.  
  259.   MAP,layer
  260.  
  261.     This creates a layer map file on the hard disk, which may be retrieved
  262.     by other operators. Layer is a number from 0 to 64.
  263.  
  264.     Layer 0 is a special layer, will store the R map for later use at any
  265.     stage of a checking sequence.
  266.  
  267.     You must ALWAYS use the MAP operator to generate a layer map if you are
  268.     going to use that layer map later.
  269.  
  270.  
  271.   PUSH,layer
  272.  
  273.     Retrieves a layer map from the hard disk and pushes the map onto the
  274.     map stack. The contents of the R map are moved to the S map. The
  275.     contents of the S map are lost. PUSH,0 retrieves and pushes a MAP,0
  276.     that may have been previously stored.
  277.  
  278.  
  279.   NOTR, ANDRS, ORRS, XORRS
  280.  
  281.     These are the logical operators that do just what they indicate. The
  282.     results are placed in the R map and the S map remains unchanged.
  283.  
  284.  
  285.   SETR,CLRR
  286.  
  287.     These are rarely used operators that set all bits of R to "1" or "0"
  288.     respectively.
  289.  
  290.  
  291.   DBLR
  292.  
  293.     This doubles the bits in X and Y directions so that single bits may be
  294.     displayed better. This is used automatically by EXPR (below).
  295.  
  296.  
  297.   EXPR[,offset]
  298.  
  299.     This is the single map expand operator. It performs an iterative
  300.     octagonal expansion (see below) on the R map. Each iteration expands
  301.     the pattern by ONE RESOLUTION UNIT. The results are placed in the R map
  302.     and the original R map is lost.
  303.  
  304.     The results represent a pattern produced by single "0s" in the map as
  305.     the "1s" merge with each expansion pass.
  306.  
  307.     The optional offset is a correction that may be used if found
  308.     necessary. The offset is the number of iterations (or resolution units)
  309.     to be subtracted from the expansion so that the distance parameter
  310.     gives the correct results.
  311.  
  312.  
  313.   EXPRS[,offset]
  314.  
  315.     This expands the R and S maps using an iterative octagonal expansion,
  316.     and places the results in the R map. Each iteration is one resolution
  317.     unit. The original R and S maps are lost. Since there are two separate
  318.     maps, the result is the intersection of the maps as they expand.
  319.  
  320.  
  321.   JMPR0
  322.  
  323.     This is a conditional branching operator that checks if the R map is
  324.     all "0s". If it is, the rest of the operators are skipped and checking
  325.     jumps to the next drawing area. If not, the sequence of operators
  326.     continues. This operator lets you cancel further operations if a layer
  327.     map contains no patterns of objects to be checked.
  328.  
  329.  
  330.   JMPR1
  331.  
  332.     This is a conditional branching operator that checks if the R map is
  333.     all "1s". If it is, the rest of the operators are skipped and checking
  334.     jumps to the next drawing area. If not, the sequence of operators
  335.     continues. This operator lets you cancel further operations if a layer
  336.     map is completely filled by objects to be checked.
  337.  
  338.  
  339.   TESTR
  340.  
  341.     This is a conditional branching operator that checks if the R map
  342.     contains any "1s". If there are any "1s", the location of the area
  343.     being checked is written to the report destination, the error flag
  344.     count is incremented and the sequence of operators continues. If the R
  345.     map is all "0s", the rest of the operators are skipped and checking
  346.     jumps to the next drawing area. TESTR is used to test for final results
  347.     after the sequence of map operations has been done.
  348.  
  349.  
  350.   DSPR,color index,sparse modulus
  351.  
  352.     This displays the R map as a rectangular pattern on the monitor screen.
  353.     The color index is the usual integer (0 to 15) used by the PC video to
  354.     set a color: 0=black, 1= blue, 2=green, etc.
  355.  
  356.     The sparse modulus is a integer that allows only those pixels whose X
  357.     and Y position divided by the modulus that leaves a remainder of 0 to
  358.     be displayed. This "thins out" the filled patterns to give a better
  359.     display or print. For all pixels, the modulus is 1; for every other
  360.     pixel, the modulus is 2, etc.
  361.  
  362.  
  363.   DSP,map,color index,sparse modulus
  364.  
  365.     This is the same as DSPR except it displays a stored map. Use this to
  366.     display the layers as a background when displaying any results.
  367.  
  368.  
  369.   PAUSE
  370.  
  371.     This produces a pause after a display so that you can examine the
  372.     screen. Without it, LASIDRC would go on to the next area to be checked.
  373.     This is enabled by the setup switch.
  374.  
  375.  
  376.   HCPY
  377.  
  378.     This calls the hardcopier automatically to produce a picture of the
  379.     screen after any results are displayed. If the report destination is
  380.     set to any printer, this is blocked, since it would disrupt the report
  381.     printing by putting maps in the printout. This must be enabled by the
  382.     Enable HCPY setup switch. If no printer is available Enable HCPY will
  383.     not accept "N".
  384.  
  385.  
  386.   OVRLAP,layer[,up to 8 layers separated by commas]
  387.  
  388.     This calls the overlap checking function. When overlaps are checked,
  389.     objects (boxes, poly and paths) that coincide at any points are marked.
  390.     The objects can be on one or more of up to 8 layers, with each layer
  391.     considered as the SAME layer.
  392.  
  393.     The results are placed in the R map. The map of the layers checked for
  394.     overlap is stored as the "0 Layer" map, so that the map can be
  395.     displayed by a DSP,0 operator.
  396.  
  397.     As with other checks, the RESOLUTION parameter determines how finely
  398.     the overlap bitmaps are constructed. The DISTANCE parameter has no
  399.     effect.
  400.  
  401.     Overlap checking is different from all other operations because it
  402.     tests for coincidence WITHIN a single layer. It however does NOT check
  403.     if the SAME object intersects itself. This can happen on poly or paths
  404.     that fold back on themselves. The algorithm that LASIDRC uses to make
  405.     bitmaps is the same as the LASI drawing program uses to fill. This
  406.     algorithm does not fill singly folded areas. These areas may be easily
  407.     spotted in a drawing.
  408.  
  409.  Octagonal Expansion
  410.  
  411.   When an expansion is done, an iterative process is used to enlarge the
  412.   map patterns. With each pass the pattern is enlarged by one bit by
  413.   shifting it in each of the four orthogonal directions (+x,-x,+y,-y). The
  414.   pattern is also shifted diagonally, on the average, .707 of the time.
  415.   This produces an octagonal pattern if the original pattern is a single
  416.   point. The expansion is a first order approximation to a discrete
  417.   circular expansion process. Possibly in the future, higher order terms
  418.   will be added to smooth the expanded pattern.
  419.   ≡≡11
  420.  
  421.                                             * * * * *
  422.     Octagonal single point expansion      * * * * * * *
  423.     after four passes                   * * * * * * * * *
  424.                                         * * * * * * * * *
  425.                                         * * * * X * * * *
  426.                                         * * * * * * * * *
  427.                                         * * * * * * * * *
  428.                                           * * * * * * *
  429.                                             * * * * *
  430.  
  431. Setting Parameters
  432.  
  433.  Optimizing Parameters
  434.  
  435.   Resolution can be made as small as 1 basic unit used in a drawing.
  436.  
  437.   Making the Resolution larger allows checking to be done much faster
  438.   because larger pieces of a drawing can be checked at a time and less
  439.   iterations are necessary when checking. The time required to check is
  440.   roughly in inverse proportion to the 3rd power of the Resolution. That
  441.   is, if you halve your Resolution checking will run about 8 times faster.
  442.   Unless you have a very fast computer, the highest Resolution is best used
  443.   on small cells or for checks that involve small dimensions. For example,
  444.   contact coverage or checking for small gaps in metal runs might run at
  445.   the smallest Resolution.
  446.  
  447.   Making Resolution too large can cause errors to be missed because details
  448.   cannot be resolved smaller than that size and roundoffs may occur.
  449.   However, scanning for gross errors can quickly be done using a larger
  450.   Resolution.
  451.  
  452.   The Distance parameter will affect the test time, since each iteration of
  453.   an expansion takes about the same amount of time.
  454.  
  455.   Distance will also affect the size and position of the areas being
  456.   checked. Distance can be set to 0, but a small correction, depending on
  457.   the Resolution, will be made so that checked areas will overlap slightly.
  458.  
  459.  Checking Spacing
  460.  
  461.   As stated before, LASIDRC works by expanding bitmap areas, and
  462.   determining if gaps merge and flagging the merged bits. When checking
  463.   gaps, LASIDRC should always find and flag gaps LESS THAN or EQUAL to the
  464.   Distance. If you are checking spacing set the Distance so that it will
  465.   FAIL.
  466.  
  467.   For example, let us say that you want to determine if spacing is less
  468.   than 10.0um between certain areas. A 9.5um Distance and a Resolution of
  469.   .5um should find any gaps less than or equal to 9.5um i.e., a 10.0um
  470.   distance SHOULD pass.
  471.   ≡≡8
  472.                                              Resolution=0.5
  473.                 ▒▒▒▒                             │  ▒▒▒▒
  474.                 ▒▒▒▒<──── Will be Flagged ────><─┴─>▒▒▒▒
  475.                 ▒▒▒▒<───── May be Flagged ───────>  ▒▒▒▒
  476.                 ▒▒▒▒<──────── Distance ───────>│    ▒▒▒▒
  477.                     0                         9.5  10.0
  478.                     <--------- Spacing Gap -------->
  479.  
  480.  
  481.   Not all gaps between 9.5um and 10.0um will pass. For 45 deg. diagonal
  482.   distances, there can be an uncertainty that is less than +/- 1/2 the
  483.   Resolution, due partly to the way that LASIDRC works and due partly to
  484.   numerical roundoff problems. For angles that are in a range centered
  485.   around odd multiples of 22.5 deg. ( 22.5, 67.5, etc.) there is an
  486.   exaggeration of the expansion distance. This may flag oddly shaped
  487.   objects. Since  expands areas using an octogonal pattern, these
  488.   exaggerations correspond to the octogon vertex peaks, or about an 8
  489.   percent exaggeration at most.
  490.  
  491.   Since LASIDRC looks for single bits when doing a single layer expansion,
  492.   once in a while on odd shapes, the map can produce single bit extensions
  493.   or notches. LASIDRC will find these and will flag them, even though they
  494.   are an artifact. You should examine these and see if there really is
  495.   anything wrong. In fact, the way that LASIDRC works often picks out
  496.   patterns that are not good layout practice because a pattern generator
  497.   may also have similar problems.
  498.  
  499.   LASIDRC works in such a way that sharp corners tend to be rounded, just
  500.   as actual photomasking and etching might do. Keep this in mind when
  501.   setting the Distance parameter. For example, the distance between two
  502.   adjacent corners will be seen by LASIDRC as a little more than the actual
  503.   tip to tip distance.
  504.  
  505.   The method by which LASIDRC works is sensitive to gross errors which are
  506.   well beyond the actual flagging threshold. It is virtually impossible for
  507.   LASIDRC to miss these.
  508.  
  509.  Checking Widths
  510.  
  511.   To check widths with LASIDRC (a metal run width for example), you first
  512.   make a bitmap of a layer and then "NOT" the bitmap. The bitmap then has a
  513.   gap where there would have be a filled area. You apply the same expansion
  514.   as you would to check the gap between filled areas. You must however keep
  515.   in mind that you still want a distance that will FAIL.
  516.   ≡≡8
  517.                     0                      9.5  10.0
  518.                     <------- Width (gap)-------->
  519.                     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  520.      Inverted   ▒▒▒▒                             ▒▒▒▒▒▒▒▒▒
  521.                     <────── Distance ──────>│
  522.                     <── Will be Flagged ───><─┬─>│
  523.                                           Resolution=0.5
  524.  
  525.   Again in this case, you would set the Distance to 9.5um to fail a gap
  526.   less than or equal to that value, or equivalently, pass a width greater
  527.   than that value, or 10.0um.
  528.  
  529.   The width that is being checked might be the result of several logical
  530.   bitmap operations. An example is where you might want to check if metal
  531.   covers a contact area sufficiently. You would XOR one layer to the other
  532.   and then check the width of the result. The same rules apply as with a
  533.   single layer.
  534.  
  535.  Near Miss Errors
  536.  
  537.   LASIDRC will find "near miss" errors. A near miss is where drawing areas
  538.   do not touch by a one or a few basic units. To find these, set the
  539.   Resolution to the smallest physical distance (1 basic drawing unit), and
  540.   set the Distance to some value large enough to find all small gaps, but
  541.   small enough to let LASIDRC run quickly.
  542.  
  543.   Hint: If looking for small gaps, it is often much faster to check small
  544.     individual cells first, so that you know that they are OK. Small cells
  545.     are often drawn to higher resolution, while larger cells are often
  546.     drawn to a coarser grid. Using the LASI "Snap" command can eliminate
  547.     small gaps and save DRC time.
  548.  
  549. An Example
  550.  
  551.  An Example
  552.  
  553.   If included in the LASI files, the tutorial layout (compressed in
  554.   TUTOR.ZIP) contains a sample check file named TUTOR.DRC. This has been
  555.   written to work with the demonstration, but can serve as an example of
  556.   how to write a file. Examining this file should make the preceding
  557.   information much clearer.
  558.  
  559.   You should run LASIDRC on the OPAMP cell using TUTOR.DRC and see the
  560.   results. LASIDRC will flag many things in the cell in the different
  561.   tests. Some will be real errors and some will be sloppy layout techniques
  562.   done by the author.
  563.  
  564. Disclaimer
  565.  
  566.  Disclaimer
  567.  
  568.   The LASIDRC.EXE program is furnished on an "as is" basis. LASIDRC will
  569.   make a "best effort" to call to attention any possible layout errors.
  570.   Experience should confirm that it doesn't miss much. However, the author
  571.   or anyone distributing the program cannot assume responsibility for how
  572.   the program is used, how it is programmed, or for the results of its use.
  573.   The program cannot be absolutely guaranteed to find all instances in a
  574.   layout that may result in incorrect function of an integrated circuit or
  575.   other device. LASIDRC is to be considered as a valuable aid to actual
  576.   visual inspection and the users own knowledge.
  577.  
  578. Parameter Line Editor
  579.  
  580.  Parameter Line Editor
  581.  
  582.   LASIDRC now uses a simple line editor that resembles the editor used with
  583.   Windows. The editor operates as follows:
  584.  
  585.   ■ To move from parameter to parameter, press the UP/DOWN ARROW keys,
  586.     (SHIFT)TAB, or click the mouse on a parameter.
  587.  
  588.   ■ Press PGUP/PGDN to move to the first or last parameter.
  589.  
  590.   ■ Press LEFT/RIGHT ARROW to move the text cursor left or right.
  591.  
  592.   ■ Press HOME/END to move the cursor to the beginning or end of a line.
  593.  
  594.   ■ Press BACKSPACE to erase a character to the left of the cursor.
  595.  
  596.   ■ Press DELETE to erase the character to the right of the cursor.
  597.  
  598.   ■ Press CTRL-BACKSPACE to completely erase a text line.
  599.  
  600.   ■ When you first select a parameter, typing any printable character other
  601.     than SPACE or LEFT/RIGHT ARROW will replace the whole text line.
  602.  
  603.   ■ If you make a mistake press ESC to restore the original text.
  604.  
  605.